package com.sen.service;

import com.sen.dto.ResourceDTO;
import com.sen.entity.Resource;
import com.baomidou.mybatisplus.extension.service.IService;
import com.sen.result.Result;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author sen
 * @since 2021-03-29
 */
public interface ResourceService extends IService<Resource> {

    /**
     * 新增一个资源信息
     * @param resource
     * @return
     */
    Result saveResource(Resource resource);

    /**
     * 根据资源id删除相应的资源记录
     * @param id
     * @return
     */
    Result deleteResourceById(Integer id);

    /**
     * 更新资源信息
     * @param resource
     * @return
     */
    Result updateResource(Resource resource);

    /**
     * 分页查询资源列表
     * @param cur
     * @param size
     * @return
     */
    Result getResourceList(Integer cur, Integer size);

    /**
     * 根据资源id查询对应的资源
     * @param id
     * @return
     */
    Result getResourceById(Integer id);

    /**
     * 根据角色id查询其拥有的资源信息
     * @param rid
     * @return
     */
    List<Resource> getResourceListByRoleId(Integer rid);

    /**
     * 查询所有的菜单，包括其对应需要的角色
     * @return
     */
    List<ResourceDTO> getResourcesWithRoles();
}
